home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 128 25 / q25.d81 / t.control80 1 < prev    next >
Text File  |  2022-08-28  |  7KB  |  141 lines

  1.  
  2.  
  3.                             ***  CONTROL80 V1.21
  4.  
  5.                 by Jon Mattson with modifications by ed bell
  6.  
  7.  
  8. FENDER'S PREMUMBLE TO ED'S FOREWARD: When ed talks about Control80's
  9. "popularity" he really means my addiction to it.  Since I edit every program
  10. that appears on LOADSTAR 128 (usually in an afternoon or night) I tend to
  11. automatically install Control80.  It provides the only way I know of to PEEK
  12. and POKE the VDC chip, to save and restore the screen, to install a custom
  13. font, and several other necessary things.  ed did a magnificent job of
  14. catering to my addiction and I appreciate it.  If you are a programmer you
  15. will immediately recognize the power of MEGaBasic.  I hope that you will
  16. take advantge of ed's beyond-the-call-of-duty work and use Control80, too.
  17. If you don't, I'll just have to add it later.
  18.  
  19. Foreword by e.g.bell
  20.  
  21.     One of the problems with a program like Control80 is its popularity.
  22. Control80 occupies some prime 'real estate' in the Commodore 128.  The
  23. wonderful capabilities of the program are such that no one who uses it is
  24. willing to give it up without a fight...even for other very valuable
  25. utilities.  I had encountered this reluctance on a previous submission to
  26. LOADSTAR, and again with MEGaBasic, so I decided it was time to address the
  27. situation...to find a way that everyone could use MEGaBasic AND Control80...
  28. benefit from both with minimum of sacrifice by either.
  29.  
  30.     Why do something like this in the first place?  There are two reasons I
  31. felt it was needed.  First, with Control80 solidly fixed at 4864, it is hard
  32. to develop some types of utilities for that area because users are reluctant
  33. to give up Control80, but this is a LARGE, popular block of RAM.
  34.  
  35.     Second, though programs using Control80 will probably be BLOADing it
  36. prior to use, this can get old when you are writing code and testing your
  37. work as you go along if you want to have all of MEGaBasic's added abilities
  38. AND those of Control80.  As a program gets large, you really start to
  39. appreciate FIND and CHANGE utilities, etc..
  40.  
  41.     With the cooperation of Fender Tucker, I acquired the source code for
  42. Control80 and converted it for use with my assembler (EGads).  I then
  43. modified it so that it could co-exist with MEGaBasic in spite of the fact
  44. that both programs use the same memory area.  The result is MEGaBasic 2.16
  45. with Control80.
  46.  
  47. *** New Control80 Command
  48.  
  49.     This collective program saw the addition of a new command to each
  50. 'member' program.  MEGaBasic now has a 'CONTROL' command which installs and
  51. activates Control80.  Control80 now has a 'MEGA' command that installs and
  52. activates MEGaBasic.
  53.  
  54. *** Achilles Heel
  55.  
  56.     The only unfortunate situation in this marriage of these two programs is
  57. that MEGaBasic is not able to recognize the new commands of Control80 in the
  58. program correctly.  And since MEGaBasic can only operate when Control80 is
  59. inactive, listing Control80 programs is going to show odd characters where
  60. there are Control80 commands used.  If you've ever listed a program with
  61. these commands when Control80 is not active, you will know what I mean.  The
  62. commands are still in memory.  They just cannot be listed by MEGaBasic.  You
  63. won't be able to FIND or CHANGE them either, since they are tokenized and
  64. MEGaBasic only recognizes the standard tokens.
  65.  
  66.     You WILL notice printable characters where these commands are.  ***DO
  67. NOT*** try to use MEGaBasic's CHANGE command on them!  ***DO NOT*** edit
  68. them or delete them.  Control80 uses dual-token keywords for its commands.
  69. Editing these commands with Control80 inactive could remove one part of the
  70. command but not the 'trigger' character that signals dual-tokens to the
  71. C128.
  72.  
  73. *** Change Of Address
  74.  
  75.     In an update like this, it is almost to be expected that there will be
  76. some casualties in terms of things that were at one location that are now in
  77. another location.  I'm wasting this paragraph to tell you that there is no
  78. such thing in the upgraded Control80.  All of the POKEs and the routine
  79. address mentioned in the section on MINE below were kept at the same
  80. locations.  We aim to please!  All existing routines should therefore work
  81. with the upgrade.
  82.  
  83. *** Found
  84.  
  85.     While under the hood, I saw the opportunity to give you a bit more
  86. control over where drive and printer accesses are directed.   As written,
  87. Control80 was limited to drive 8 and printer 4.  I made one minor change for
  88. the printer, and provided the POKE address for both.  Thus, with a simple
  89. POKE prior to any drive or printer access, you can use any valid number
  90. drive, and either printer 4 or 5.  You will have to do the testing to make
  91. sure the device actually exists.  I only had so much room with which to
  92. work, which, incidentally, is why I didn't just test for another parameter
  93. in the commands instead of requiring a POKE.
  94.  
  95. *** Recovered
  96.  
  97.     The version of Control80 I was given would not VSAVE for me.  I found
  98. that the original code had a branch to an incorrect address.  A very minor
  99. thing that was easily corrected, so if you have not had this command, you
  100. now can enjoy the full Control80 arsenal.
  101.  
  102. *** Added
  103.  
  104.     The demo utility provided in the C80DEMO file that rotates characters is
  105. definitely interesting.  I provided one of my own that will now be resident
  106. until you install a different one.  This utility, which runs when you
  107. install/activate Control80, and when you issue the MINE command, brings up a
  108. screen of all of the Control80 commands along with the syntax.  This will be
  109. present every time you 'install' or BLOAD this version of Control80.  That
  110. way, you have an immediate use of the MINE command as a help utility.
  111.  
  112.     Included in the package is the Control80/MEGaBasic combination, and also
  113. a standalone version of Control80 which can be BLOADed by your BASIC
  114. programs.  This mini-version does not support the MEGA command because it
  115. was not installed through MEGaBasic.  The standalone version was necessary
  116. due to vector management required for switching back and forth between
  117. MEGaBasic and CONTROL80.  Certain things have to be done in one situation,
  118. and must not be done in the other.  Everything is handled internally.  In
  119. addition, when using the combination program, which installs at 57344 in RAM
  120. 1, MEGaBasic protects itself from BASIC variables...so yes, you can use that
  121. version if you prefer by just 'installing' it before running your program
  122. with the CONTROL command.
  123.  
  124.     All of this said, kudos to Jon Mattson for a remarkable utility that
  125. brings such a wealth of power into the reach of everyone so painlessly.  I
  126. hope as time goes on that MEGaBasic will become as popular with users as
  127. Control80 has become.
  128.  
  129. *** Version Number
  130.  
  131.     Note that I changed the Control80 verson number from 1.2 to 1.21.
  132.  
  133. egb
  134.  
  135.  
  136.     For the formal documentation to Control80 V1.21 see the text file called
  137. "t.control80 2".
  138.  
  139.                          \\\\\ RETURN - Menu \\\\\
  140.  
  141.